package com.example.patient.dto.resp;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author wxy
 * @Date 2021/1/26 14:49
 * @Version 1.0
 */
@Data
@ApiModel(value = "问诊订单详情返回体")
public class IMOrderDetailResp implements Serializable {

    private static final long serialVersionUID = 7848052830954371935L;
    @ApiModelProperty(value = "orderInfo")
    @JSONField(name = "orderInfo")
    private OrderInfoResp orderInfo;
    @ApiModelProperty(value = "docInfo")
    @JSONField(name = "docInfo")
    private DocInfoResp docInfo;
    @ApiModelProperty(value = "patInfo")
    @JSONField(name = "patInfo")
    private PatInfoResp patInfo;

    @Data
    public static class OrderInfoResp implements Serializable {

        private static final long serialVersionUID = -7946937641667269935L;
        @ApiModelProperty(value = "orderNo")
        @JSONField(name = "OrderNO")
        private String orderNo;
        @ApiModelProperty(value = "systemStatus")
        @JSONField(name = "SystemStatus")
        private Long systemStatus;
        @ApiModelProperty(value = "ocStatus")
        @JSONField(name = "OCStatus")
        private Integer ocStatus;
        @ApiModelProperty(value = "aType")
        @JSONField(name = "AType")
        private Integer aType;
        @ApiModelProperty(value = "createTime")
        @JSONField(name = "CreateTime")
        private Date createTime;
        @ApiModelProperty(value = "askMoney")
        @JSONField(name = "AskMoney")
        private BigDecimal askMoney;
        @ApiModelProperty(value = "payType")
        @JSONField(name = "PayType")
        private Integer payType;
        @ApiModelProperty(value = "payName")
        @JSONField(name = "PayName")
        private String payName;
        @ApiModelProperty(value = "payUrl")
        @JSONField(name = "PayUrl")
        private String payUrl;
    }

    @Data
    public static class DocInfoResp implements Serializable {

        private static final long serialVersionUID = -3881648958795120784L;
        @ApiModelProperty(value = "name")
        @JSONField(name = "Name")
        private String name;
        @ApiModelProperty(value = "head")
        @JSONField(name = "Head")
        private String head;
        @ApiModelProperty(value = "depName")
        @JSONField(name = "depName")
        private String depName;
    }

    @Data
    public static class PatInfoResp implements Serializable {

        private static final long serialVersionUID = -452054263659230644L;
        @ApiModelProperty(value = "name")
        @JSONField(name = "Name")
        private String name;
        @ApiModelProperty(value = "sex")
        @JSONField(name = "Sex")
        private String sex;
        @ApiModelProperty(value = "age")
        @JSONField(name = "Age")
        private Integer age;
        @ApiModelProperty(value = "Guardian")
        @JSONField(name = "Guardian")
        private GuardianResp guardian;
        @ApiModelProperty(value = "first")
        @JSONField(name = "First")
        private Integer first;
        @ApiModelProperty(value = "chiefComplaint")
        @JSONField(name = "Chiefcomplaint")
        private String chiefComplaint;
    }

    @Data
    public static class GuardianResp implements Serializable {

        private static final long serialVersionUID = -5561981298207146252L;
        @ApiModelProperty(value = "guardianName")
        @JSONField(name = "GuardianName")
        private String guardianName;
        @ApiModelProperty(value = "showIdNo")
        @JSONField(name = "ShowIDNO")
        private String showIdNo;
    }
}
